The ability to intercept read and write operations on java arrays is needed so that the behavior could be substituted with cluster/cache related logic. In other words, the ability to transparently map a Java array in Plain Old Java Object (POJO) Cache to a transactional, in-memory, replicated data cluster is needed. However, the root concept can be used for many other applications that wish to redefine the behavior of a java array.
The challenge in redefining the behavior of a java array is that it requires rewriting the java bytecode and replacing it with other instructions that still maintain the type-safety requirements of the Java Virtual Machine (JVM). Otherwise, the bytecode verifier will throw out the manipulated bytecode. This is a problem when replacing read operations on Object arrays since the type information is effectively missing from the compiled bytecode.